<?php

/**
 * @desc Abstract controller. Define filter and direct control to it.
 *
 */
abstract class Kernel_Controller_Abstract extends Kernel_Filter 
{

    /**
     * @desc Start filter.
     *
     */
    public function process() 
    {
        parent::process();
        
        $this->_forward($this->_getFilter());
    }

    /**
     * @desc Return component action handler.
     *
     * @return  Kernel_Filter
     */
    abstract protected function _getFilter();
    
}
